Cấu trúc của số IMEI IMEI

Số IMEI là một dãy số gồm 15 số nó chứa thông tin xuất xứ, kiểu mẫu và số serial của máy. Kiểu mẫu và xuất xứ bao gồm 8 số trong phần đầu được hiểu là TAC (viết tắt của Type Allocation Code: Mã kiểu mẫu và xuất xứ). Các phần còn lại của số IMEI được định nghĩa bởi nhà sản xuất, và cuối cùng là số Luhn Check Digit số này không gửi đi tới mạng.

Cấu trúc cũ

Trước năm 2002 thì số IMEI có dạng như sau:

AAAAAA-BB-CCCCCC-D (TAC – FAC – SNR – D).

Trong đó thì TAC có độ dài 6 số theo sau đó là 2 số cho biết máy được ráp ở đâu gọi là (FAC: Final Assembly Code) tùy theo đó nhà sản xuất sẽ ghi các số này để cho biết máy được ráp ở nước nào. Và sau cùng cũng là chuỗi số serial của máy do nhà sản xuất quy định.

Ví dụ 352099-00-176148-1 cho biết các thông số sau:TAC: 352099 nó được đưa ra bởi BABT và theo số 2099.

FAC: 00 số này là thời điểm chờ chuyển từ số theo định dạng cũ sang số mới (vì sao là 00 sẽ được mô tả chi tiết sau).

SNR: 176148

CD: 1 Có nghĩa là GSM Phase 2 hay cao hơn.

Định dạng sẽ thay đổi bắt đầu từ 1 tháng 4 năm 2004 khi mà số FAC: Final Assembly Code chuyển từ định dạng cũ sang định dạng theo kiểu 8 số theo định dạng TAC: Type Allocation Code. Thì bắt đầu từ ngày 1 tháng 1 năm 2003 cho tới ngày đổi toàn bộ số FAC sẽ là 00.

Kể từ 2004

Kể từ năm 2004 định dạng của số IMEI sẽ theo chuẩn sau: AABBBBBB-CCCCCC-D (Có thể được viết liền AABBBBBBCCCCCCD). Trong đó:

  • AA Là số Reporting Body Identifier, nó chỉ ra rằng nhóm GSMA thuộc nhóm nào (xem bảng danh sách số Reporting Body Identifier ở phía dưới).
  • BBBBBB Là phần còn lại của chuỗi TAC.
  • CCCCCC Là số serial của từng máy do nhà sản xuất quy định.
  • D Là số cuối cùng được tạo ra từ các số trước theo Luật Luhn Check Digit hoặc có thể là số 0.

Kiểm tra tính hợp lệ[22]

Số cuối cùng của dãy IMEI được tính toán dựa trên thuật toán kiểm tra số Luhn.

Dựa theo công ước phân bổ và chấp nhận IMEI của tổ chức GSMA.[23]

Tính hợp lệ được tính theo công thức Luhn (ISO/IEC 7812). (Xem GSM 02.16 / 3GPP 22.016). Việc kiểm tra tính hợp lệ dựa vào tất cả các chữ số (14 số đầu) của dãy IMEI và không bao gồm số phiên bản phần mềm (SVN) của điện thoại.
Mục đích của việc kiểm tra hợp lệ là để bảo vệ việc IMEI sai thông tin với Trung tâm đăng ký thiết bị (CEIR).

Quá trình kiểm tra tính hợp lệ của dãy IMEI được thực hiện trong ba bước:

  1. Nhân đôi tất cả các số ở vị trí lẻ (1, 3, 5, 7, 9, 11, 13) của dãy IMEI từ bên phải qua trái (vd:  5 → 10).
  2. Cộng dồn các số vừa nhân đôi với các số ở vị trí chẵn. Kiểm tra nếu tổng số của các chữ số chia hết cho 10 hay không, nếu chia hết số phải tìm là 0.
  3. Ngược lại nếu không chia hết thì chọn số gần nhất cộng với tổng đấy chia hết cho 10. (vd: tổng là 52 thì số gần nhất cộng với 52 chia hết cho 10 là 8).
Ví dụ thực tế

Với dãy IMEI 49015420323751?

IMEI49015420323751 ?
Double every other4180258203431452 ?
Sum digits4 + (1 + 8) + 0 + 2 + 5 + 8 + 2 + 0 + 3 + 4 + 3 + (1 + 4) + 5 + 2 + ? = 52 + ?

Vì cần tổng chia hết cho 10 do đó số 8 là số cần tìm. Vậy số IMEI hợp lệ là:  490154203237518